The present invention relates to digital computer systems, and more particularly, to digital data compression schemes employed in digital computer systems.
Digital computer systems perform data compression to realize a more efficient use of finite storage space. The computer system typically includes a hardware component referred to as a compression accelerator, which accepts work requests or data requests from the host system to compress or decompress one or more blocks of the requested data. Traditional computer applications may require that compression services use a software data compression library, typically a zlib or compatible library, which is statically linked to various software products or applications to execute a “DEFLATE” compatible compression algorithm to compress data and conserve storage space. The compression library generally provides a data stream based interface, which can be utilized by the compression accelerator to perform hardware compression/decompression on the requested data. A typical data stream interface allows an application to break up input data to be compressed/decompressed in arbitrary ways across multiple requests.